Auth Web Components
You can install the components via npm:
npm i @dbp-toolkit/auth
Keycloak Component
Usage
<dbp-auth-keycloak url="https://auth.tugraz.at/auth" realm="tugraz" client-id="some-id"></dbp-auth-keycloak>
<script type="module" src="node_modules/@dbp-toolkit/auth/dist/dbp-auth.js"></script>
Attributes
lang
(optional, default: de
): set to de
or en
for German or English
- example
<dbp-auth-keycloak lang="de" </dbp-auth-keycloak>
load-person
(optional, default: off): if enabled the logged in user will also be loaded as Person
in the window.DBPPerson
variable
- example
<dbp-auth-keycloak load-person></dbp-auth-keycloak>
force-login
(optional, default: off): if enabled a login will be forced, there never will be a login button
- example
<dbp-auth-keycloak force-login></dbp-auth-keycloak>
try-login
(optional, default: off): if enabled the a login will happen if the user is already logged in
and finishing the login process would not result in a page location change (reload/redirect).
- example
<dbp-auth-keycloak try-login></dbp-auth-keycloak>
Keycloak Specific Attributes
url
(required): The base URL of the Keycloak serverrealm
(required): The Keycloak realmclient-id
(required): The Keycloak client to usesilent-check-sso-redirect-uri
(optional): URI or path to a separate page for checking the login session in an iframe, see https://www.keycloak.org/docs/latest/securing_apps/#_javascript_adapterscope
(optional): Space separated list of scopes to request. These scopes get added in addition to the default ones, assuming the scope is in the optional scopes list of the Keycloak client in use.
Events to listen to
dbp-auth-init
: Keycloak init event - happens oncedbp-auth-person-init
: Keycloak person init event - the person entity was loaded from the serverdbp-auth-keycloak-data-update
: Keycloak data was updated - happens for example every time after a token refresh
Login Button
Usage
<dbp-login-button></dbp-login-button>
<script type="module" src="node_modules/@dbp-toolkit/auth/dist/dbp-auth.js"></script>
Local development
git clone git@gitlab.tugraz.at:dbp/web-components/toolkit.git
cd toolkit/packages/auth
yarn install
yarn run watch-local
yarn run build
Jump to http://localhost:8002 and you should get a Single Sign On login page.